package com.marvels.financial.pay.bfpay.dto;

import java.io.Serializable;
import java.util.List;

import org.aspectj.apache.bcel.classfile.Code;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFilter;

/**
 * 宝付代付响应
 * 
 * @author tangpw
 *
 */
public class BaoFuPayTradeResponse implements Serializable {
	private static final long serialVersionUID = 1L;
	private String code ;
	private String msg;
	@JSONField(name = "trans_content")
	private TransContent transContent;

	public class TransContent {
		@JSONField(name = "trans_head")
		private TransHead transHead;

		@JSONField(name = "trans_reqDatas")
		private List<TransReqDatas> transReqDatas;

		public class TransHead implements Serializable {

			private static final long serialVersionUID = 1L;

			@JSONField(name = "return_code")
			private String returnCode;

			@JSONField(name = "return_msg")
			private String returnMsg;

			public String getReturnCode() {
				return returnCode;
			}

			public void setReturnCode(String returnCode) {
				this.returnCode = returnCode;
			}

			public String getReturnMsg() {
				return returnMsg;
			}

			public void setReturnMsg(String returnMsg) {
				this.returnMsg = returnMsg;
			}

		}

		public class TransReqDatas implements Serializable{

			private static final long serialVersionUID = 1L;
			
			@JSONField(name = "trans_reqData")
			private TransReqData transReqData;

			public class TransReqData implements Serializable {

				private static final long serialVersionUID = 1L;

				@JSONField(name = "trans_orderid")
				private String transOrderid;//宝付订单号

				@JSONField(name = "trans_batchid")
				private String transBatchid;//宝付批次号

				@JSONField(name = "trans_no")
				private String transNo;//商户订单号

				@JSONField(name = "trans_money")
				private String transMoney;//转账金额

				@JSONField(name = "to_acc_name")
				private String toAccName;//收款人姓名

				@JSONField(name = "to_acc_no")
				private String toAccNo;//收款人银行帐号

				@JSONField(name = "to_acc_dept")
				private String toAccDept;//收款人开户行机构名

				
				@JSONField(name = "trans_fee")
				private String transFee;//交易手续费

				@JSONField(name = "state")//0：转账中；1：转账成功；-1：转账失败；2：转账退款
				private String state;//订单交易处理状态

				
				@JSONField(name = "trans_remark")
				private String transRemark;//摘要
				
				@JSONField(name = "trans_summary")
				private String transSummary;//摘要

				@JSONField(name = "trans_starttime")
				private String transStarttime;//交易申请时间

				
				@JSONField(name = "trans_endtime")
				private String transEndtime;//交易完成时间

				public String getTransOrderid() {
					return transOrderid;
				}

				public void setTransOrderid(String transOrderid) {
					this.transOrderid = transOrderid;
				}

				public String getTransBatchid() {
					return transBatchid;
				}

				public void setTransBatchid(String transBatchid) {
					this.transBatchid = transBatchid;
				}

				public String getTransNo() {
					return transNo;
				}

				public void setTransNo(String transNo) {
					this.transNo = transNo;
				}

				public String getTransMoney() {
					return transMoney;
				}

				public void setTransMoney(String transMoney) {
					this.transMoney = transMoney;
				}

				public String getToAccName() {
					return toAccName;
				}

				public void setToAccName(String toAccName) {
					this.toAccName = toAccName;
				}

				public String getToAccNo() {
					return toAccNo;
				}

				public void setToAccNo(String toAccNo) {
					this.toAccNo = toAccNo;
				}

				public String getToAccDept() {
					return toAccDept;
				}

				public void setToAccDept(String toAccDept) {
					this.toAccDept = toAccDept;
				}

				public String getTransSummary() {
					return transSummary;
				}

				public void setTransSummary(String transSummary) {
					this.transSummary = transSummary;
				}

				public String getTransFee() {
					return transFee;
				}

				public void setTransFee(String transFee) {
					this.transFee = transFee;
				}

				public String getState() {
					return state;
				}

				public void setState(String state) {
					this.state = state;
				}

				public String getTransStarttime() {
					return transStarttime;
				}

				public void setTransStarttime(String transStarttime) {
					this.transStarttime = transStarttime;
				}

				public String getTransEndtime() {
					return transEndtime;
				}

				public void setTransEndtime(String transEndtime) {
					this.transEndtime = transEndtime;
				}

				public String getTransRemark() {
					return transRemark;
				}

				public void setTransRemark(String transRemark) {
					this.transRemark = transRemark;
				}
				
				
			}

			public TransReqData getTransReqData() {
				return transReqData;
			}

			public void setTransReqData(TransReqData transReqData) {
				this.transReqData = transReqData;
			}
			
		}

		public TransHead getTransHead() {
			return transHead;
		}

		public void setTransHead(TransHead transHead) {
			this.transHead = transHead;
		}

		public List<TransReqDatas> getTransReqDatas() {
			return transReqDatas;
		}

		public void setTransReqDatas(List<TransReqDatas> transReqDatas) {
			this.transReqDatas = transReqDatas;
		}

	}

	public TransContent getTransContent() {
		return transContent;
	}

	public void setTransContent(TransContent transContent) {
		this.transContent = transContent;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	
}
